package org.oslims.client.service;

import java.util.List;

import org.oslims.domain.Report;
import org.oslims.domain.Request;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("requestService")
public interface RequestService extends RemoteService {

	public void saveOrUpdateRequest(Request request);

	public List<Request> getAllRequest();

	public List<Request> getAllRequest(int start, int length, String sortBy, boolean desc);

	public List<Request> getRequestByState(String state);

	public List<Report> getReportsForRequest(Request request);

	public void releaseRequests(List<Request> requests);

	public void closeRequests(List<Request> requests);

	public Request findByCode(String requestCode);

	public Integer getRequestCount();

	public void deleteReport(Long reportId);
}
